package com.leecode.acs;

/**
 * @description: 贪心算法，滑动窗口
 * 给定一个有序数组arr，代表坐落在X轴上的点给定一个正数K，
 * 代表绳子的长度返回绳子最多压中几个点?即使绳子边缘处盖住点也算盖住
 * 示例：[1,2,3,8,9,17,22,35] ,  arr[]  L = 4
 * <p>
 * <p>
 * 解法1： 贪心
 * 解法2： 滑窗 (代码是这个)
 * @date: 2023/1/14 15:41
 * @author: yaoshubin
 * @version: 1.0
 */
public class ACS_02_滑动窗口_绳子最大点数 {

    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 8, 9, 10, 17, 22, 35};
        int maxPoints = maxPoints(arr, 4);
        System.out.println(maxPoints);
    }


    public static int maxPoints(int[] arr, int N) {
        int L = 0;
        int R = 0;
        int len = arr.length;
        int max = 0;
        while (L < len) {
            while (R < len && (arr[R] - arr[L]) <= N) {
                R++;
            }
            max = Math.max(max, (R - (L++)));
        }

        return max;
    }

}
